package bombita.modelo.Personajes;

import org.jdom2.Element;

import bombita.modelo.Interactuador;
import bombita.modelo.Armas.*;
import bombita.modelo.Items.ItemChala;
import bombita.modelo.Items.ItemTimer;
import bombita.modelo.Items.ItemToletole;
import bombita.modelo.Movimientos.*;


public class Bombita extends Personaje
{
	
	private int cantidadBonusTimer;

	public Bombita()
	{
		this.miArma = new LanzaMolotov();
		this.miMovimiento = new Caminante();
		this.yoDanio = 0;
		this.miVida = 1;
		this.esperaAtacar = false;
		this.sostenerMovimiento = false;
		this.cantidadBonusTimer = 0;
	}
	
	@Override
	public void morir()
	{
		miPosicion.terminarJuego(false);
		super.morir();
	}
	
	public void recibirDano(int dano)
	{
		this.morir();
	}
	
	public void interactuarCon(Interactuador unaCosa)
	{
		unaCosa.interactuarConBombita(this);
	}

	public void interactuarConItemChala(ItemChala unaCosa)
	{
		this.miMovimiento = new Corredor();
	}
	
	public void interactuarConItemTimer(ItemTimer unaCosa)
	{
		this.miArma.agregarBonusDeRetardo();
	}
	
	public void interactuarConItemToletole(ItemToletole unaCosa)
	{
		this.miArma = new LanzaToletole();
		for(int i = 0; i < this.cantidadBonusTimer; i++){
			this.miArma.agregarBonusDeRetardo();
		} 
	}
	
	public static Bombita deserializar(Element nodo) throws Exception
	{
		Bombita pers = new Bombita();
		pers.aplicarSerializado(nodo);
		return pers;
	}
}
